home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor1 / saturn.doc < prev    next >
Text File  |  1995-03-31  |  9KB  |  467 lines

  1.  
  2.  
  3.     Saturn Instruction Set                Derek S. Nickel 
  4.     ================================================================ 
  5.  
  6.     0...    * misc operations (RTNs, modes, stack, status, P, logic) 
  7.  
  8.     1...    * data movement/loading (D0,D1,R0-R4) 
  9.  
  10.     2n    P=     n 
  11.  
  12.     3xn..n    LC(m)  n..n    (x = m - 1) 
  13.     3mc..c    LCASC  \A..A\    (m = 2*characters - 1) 
  14.     3nh..h    LCHEX  h..h    (n = digits - 1) 
  15.  
  16.     400    RTNC 
  17.     4aa    GOC    label 
  18.     420    NOP3 
  19.  
  20.     500    RTNNC 
  21.     5aa    GONC   label 
  22.  
  23.     6aaa    GOTO   label 
  24.     6300    NOP4 
  25.     64000    NOP5 
  26.  
  27.     7aaa    GOSUB  label 
  28.  
  29.     8...    * misc, tests and branching 
  30.  
  31.     9...    * tests w/fs 
  32.  
  33.     Aax    * math and assignment w/fs 
  34.     Abx    * math and assignment w/fs 
  35.     Bax    * math and assignment w/fs 
  36.     Bbx    * math and assignment w/fs 
  37.  
  38.     Cx    * math and assignment w/A 
  39.     Dx    * math and assignment w/A 
  40.     Ex    * math and assignment w/A 
  41.     Fx    * math and assignment w/A  
  42.  
  43.     0 
  44.     ================================================================ 
  45.  
  46.     00    RTNSXM 
  47.     01    RTN 
  48.     02    RTNSC 
  49.     03    RTNCC 
  50.     04    SETHEX 
  51.     05    SETDEC 
  52.     06    RSTK=C 
  53.     07    C=RSTK 
  54.     08    CLRST 
  55.     09    C=ST 
  56.     0A    ST=C 
  57.     0B    CSTEX 
  58.     0C    P=P+1 
  59.     0D    P=P-1 
  60.     0Exx    * logic operations     
  61.     0F    RTI 
  62.  
  63.     -- field --- 
  64.      fs     A 
  65.     ------------ 
  66.     0Ea0    0EF0    A=A&B  field 
  67.     0Ea1    0EF1    B=B&C  field 
  68.     0Ea2    0EF2    C=C&A  field 
  69.     0Ea3    0EF3    D=D&C  field 
  70.     0Ea4    0EF4    B=B&A  field 
  71.     0Ea5    0EF5    C=C&B  field 
  72.     0Ea6    0EF6    A=A&C  field 
  73.     0Ea7    0EF7    C=C&D  field 
  74.  
  75.     0Ea8    0EF8    A=A!B  field 
  76.     0Ea9    0EF9    B=B!C  field 
  77.     0EaA    0EFA    C=C!A  field 
  78.     0EaB    0EFB    D=D!C  field 
  79.     0EaC    0EFC    B=B!A  field 
  80.     0EaD    0EFD    C=C!B  field 
  81.     0EaE    0EFE    A=A!C  field 
  82.     0EaF    0EFF    C=C!D  field 
  83.  
  84.     fs: P  WP XS X  S  M  B  W 
  85.     a:  0  1  2  3  4  5  6  7  
  86.  
  87.     10, 11, 12 
  88.     ================================================================ 
  89.  
  90.     100    R0=A 
  91.     101    R1=A 
  92.     102    R2=A 
  93.     103    R3=A 
  94.     104    R4=A 
  95.     105     
  96.     106     
  97.     107     
  98.     108    R0=C 
  99.     109    R1=C 
  100.     10A    R2=C 
  101.     10B    R3=C 
  102.     10C    R4=C 
  103.     10D     
  104.     10E     
  105.     10F     
  106.  
  107.     110    A=R0 
  108.     111    A=R1 
  109.     112    A=R2 
  110.     113    A=R3 
  111.     114    A=R4 
  112.     115     
  113.     116     
  114.     117     
  115.     118    C=R0 
  116.     119    C=R1 
  117.     11A    C=R2 
  118.     11B    C=R3 
  119.     11C    C=R4 
  120.     11D     
  121.     11E     
  122.     11F     
  123.  
  124.     120    AR0EX 
  125.     121    AR1EX 
  126.     122    AR2EX 
  127.     123    AR3EX 
  128.     124    AR4EX 
  129.     125     
  130.     126     
  131.     127     
  132.     128    CR0EX 
  133.     129    CR1EX 
  134.     12A    CR2EX 
  135.     12B    CR3EX 
  136.     12C    CR4EX 
  137.     12D     
  138.     12E     
  139.     12F      
  140.  
  141.     13 through 1F 
  142.     ================================================================ 
  143.  
  144.     130    D0=A 
  145.     131    D1=A 
  146.     132    AD0EX 
  147.     133    AD1EX 
  148.  
  149.     134    D0=C 
  150.     135    D1=C 
  151.     136    CD0EX 
  152.     137    CD1EX 
  153.  
  154.     138    D0=AS 
  155.     139    D1=AS 
  156.     13A    AD0XS 
  157.     13B    AD1XS 
  158.  
  159.     13C    D0=CS 
  160.     13D    D1=CS 
  161.     13E    CD0XS 
  162.     13F    CD1XS 
  163.  
  164.     ---------- field ----------- 
  165.      A     B     fs     d 
  166.     ----------------------------     
  167.     140    148    150a    158x    DAT0=A field 
  168.     141    149    151a    159x    DAT1=A field 
  169.     142    14A    152a    15Ax    A=DAT0 field 
  170.     143    14B    153a    15Bx    A=DAT1 field 
  171.     144    14C    154a    15Cx    DAT0=C field 
  172.     145    14D    155a    15Dx    DAT1=C field 
  173.     146    14E    156a    15Ex    C=DAT0 field 
  174.     147    14F    157a    15Fx    C=DAT1 field 
  175.  
  176.     16x    D0=D0+ n 
  177.     17x    D1=D1+ n 
  178.     18x    D0=D0- n 
  179.     19nn    D0=(2) nn 
  180.     19hh    D0=HEX hh 
  181.     1Annnn    D0=(4) nnnn 
  182.     1Ahhhh    D0=HEX hhhh 
  183.     1Bnnnnn    D0=(5) nnnnn 
  184.     1Bhhhhh    D0=HEX hhhhh 
  185.     1Cx    D1=D1- n 
  186.     1Dnn    D1=(2) nn 
  187.     1Dhh    D1=HEX hh 
  188.     1Ennnn    D1=(4) nnnn 
  189.     1Ehhhh    D1=HEX hhhh 
  190.     1Fnnnnn    D1=(5) nnnnn 
  191.     1Fhhhhh    D1=HEX hhhhh 
  192.  
  193.     fs: P  WP XS X  S  M  B  W 
  194.     a:  0  1  2  3  4  5  6  7 
  195.  
  196.     x = d - 1        x = n - 1 
  197.     d = x + 1        n = x + 1  
  198.  
  199.     80, 81 
  200.     ================================================================ 
  201.  
  202.     800    OUT=CS 
  203.     801    OUT=C 
  204.     802    A=IN 
  205.     803    C=IN 
  206.     804    UNCNFG 
  207.     805    CONFIG 
  208.     806    C=ID 
  209.     807    SHUTDN 
  210.     8080    INTON 
  211.     808C    PC=(A) 
  212.     808F    INTOFF     
  213.     809    C+P+1 
  214.     80A    RESET 
  215.     80B    BUSCC 
  216.     80Cn    C=P    n 
  217.     80Dn    P=C    n 
  218.     80E    SREQ? 
  219.     80Fn    CPEX   n 
  220.  
  221.     810    ASLC 
  222.     811    BSLC 
  223.     812    CSLC 
  224.     813    DSLC 
  225.     814    ASRC 
  226.     815    BSRC 
  227.     816    CSRC 
  228.     817    DSRC 
  229.     818     
  230.     819     
  231.     81A     
  232.     81B     
  233.     81C    ASRB 
  234.     81D    BSRB 
  235.     81E    CSRB 
  236.     81F    DSRB  
  237.  
  238.     82 through 8F, 9 
  239.     ================================================================ 
  240.  
  241.     82n    no opcode, clear hardware status w/n as bit mask 
  242.     821    XM=0 
  243.     822    SB=0 
  244.     824    SR=0 
  245.     828    MP=0 
  246.     82F    CLRHST 
  247.  
  248.     831yy    ?XM=0 
  249.     832yy    ?SB=0 
  250.     834yy    ?SR=0 
  251.     838yy    ?MP=0 
  252.  
  253.     84n    ST=0   n 
  254.     85n    ST=1   n 
  255.     86nyy    ?ST=0  n    ?ST#1  n 
  256.     87nyy    ?ST=1  n    ?ST#0  n 
  257.     88nyy    ?P#    n 
  258.     89nyy    ?P=    n 
  259.     8Axyy    * tests w/A (equal and not equal) 
  260.     8Bxyy    * tests w/A (inequality) 
  261.     8Caaaa    GOLONG label 
  262.     8Daaaaa    GOVLNG label 
  263.     8Eaaaa    GOSUBL label 
  264.     8Faaaaa    GOSBVL label 
  265.     9zxyy    * tests w/fs 
  266.  
  267.     TEST00    RTNYES 
  268.     TESTyy    GOYES  label  
  269.  
  270.     8A, 8B, 9 
  271.     ================================================================ 
  272.  
  273.     --- field ---- 
  274.       A      fs 
  275.     -------------- 
  276.     8A0yy    9a0yy    ?A=B   field        ?B=A   field 
  277.     8A1yy    9a1yy    ?B=C   field        ?C=B   field 
  278.     8A2yy    9a2yy    ?A=C   field        ?C=A   field 
  279.     8A3yy    9a3yy    ?C=D   field        ?D=C   field 
  280.     8A4yy    9a4yy    ?A#B   field        ?B#A   field 
  281.     8A5yy    9a5yy    ?B#C   field        ?C#B   field 
  282.     8A6yy    9a6yy    ?A#C   field        ?C#A   field 
  283.     8A7yy    9a7yy    ?C#D   field        ?D#C   field 
  284.     8A8yy    9a8yy    ?A=0   field 
  285.     8A9yy    9a9yy    ?B=0   field 
  286.     8AAyy    9aAyy    ?C=0   field 
  287.     8AByy    9aByy    ?D=0   field 
  288.     8ACyy    9aCyy    ?A#0   field 
  289.     8ADyy    9aDyy    ?B#0   field 
  290.     8AEyy    9aEyy    ?C#0   field 
  291.     8AFyy    9aFyy    ?D#0   field 
  292.  
  293.     8B0yy    9b0yy    ?A>B   field 
  294.     8B1yy    9b1yy    ?B>C   field 
  295.     8B2yy    9b2yy    ?C>A   field 
  296.     8B3yy    9b3yy    ?D>C   field 
  297.     8B4yy    9b4yy    ?A<B   field 
  298.     8B5yy    9b5yy    ?B<C   field 
  299.     8B6yy    9b6yy    ?C<A   field 
  300.     8B7yy    9b7yy    ?D<C   field 
  301.     8B8yy    9b8yy    ?A>=B  field 
  302.     8B9yy    9b9yy    ?B>=C  field 
  303.     8BAyy    9bAyy    ?C>=A  field 
  304.     8BByy    9bByy    ?D>=C  field 
  305.     8BCyy    9bCyy    ?A<=B  field 
  306.     8BDyy    9bDyy    ?B<=C  field 
  307.     8BEyy    9bEyy    ?C<=A  field 
  308.     8BFyy    9bFyy    ?D<=C  field 
  309.  
  310.     fs: P  WP XS X  S  M  B  W 
  311.     a:  0  1  2  3  4  5  6  7 
  312.     b:  8  9  A  B  C  D  E  F  
  313.  
  314.     A, C, D 
  315.     ================================================================ 
  316.  
  317.     -- field -- 
  318.     A    fs 
  319.     ----------- 
  320.     C0    Aa0    A=A+B  field 
  321.     C1    Aa1    B=B+C  field 
  322.     C2    Aa2    C=C+A  field 
  323.     C3    Aa3    D=D+C  field 
  324.     C4    Aa4    A=A+A  field 
  325.     C5    Aa5    B=B+B  field 
  326.     C6    Aa6    C=C+C  field 
  327.     C7    Aa7    D=D+D  field 
  328.     C8    Aa8    B=B+A  field 
  329.     C9    Aa9    C=C+B  field 
  330.     CA    AaA    A=A+C  field 
  331.     CB    AaB    C=C+D  field 
  332.     CC    AaC    A=A-1  field 
  333.     CD    AaD    B=B-1  field 
  334.     CE    AaE    C=C-1  field 
  335.     CF    AaF    D=D-1  field 
  336.  
  337.     D0    Ab0    A=0    field 
  338.     D1    Ab1    B=0    field 
  339.     D2    Ab2    C=0    field 
  340.     D3    Ab3    D=0    field 
  341.     D4    Ab4    A=B    field 
  342.     D5    Ab5    B=C    field 
  343.     D6    Ab6    C=A    field 
  344.     D7    Ab7    D=C    field 
  345.     D8    Ab8    B=A    field 
  346.     D9    Ab9    C=B    field 
  347.     DA    AbA    A=C    field 
  348.     DB    AbB    C=D    field 
  349.     DC    AbC    ABEX   field 
  350.     DD    AbD    BCEX   field 
  351.     DE    AbE    ACEX   field 
  352.     DF    AbF    CDEX   field 
  353.  
  354.     fs: P  WP XS X  S  M  B  W 
  355.     a:  0  1  2  3  4  5  6  7 
  356.     b:  8  9  A  B  C  D  E  F  
  357.  
  358.     B, E, F 
  359.     ================================================================ 
  360.  
  361.     -- field --- 
  362.     A    fs 
  363.     ------------ 
  364.     E0    Ba0    A=A+B  field 
  365.     E1    Ba1    B=B+C  field 
  366.     E2    Ba2    C=C+A  field 
  367.     E3    Ba3    D=D+C  field 
  368.     E4    Ba4    A=A+1  field 
  369.     E5    Ba5    B=B+1  field 
  370.     E6    Ba6    C=C+1  field 
  371.     E7    Ba7    D=D+1  field 
  372.     E8    Ba8    B=B-A  field 
  373.     E9    Ba9    C=C-B  field 
  374.     EA    BaA    A=A-C  field 
  375.     EB    BaB    C=C-D  field 
  376.     EC    BaC    A=B-A  field 
  377.     ED    BaD    B=C-B  field 
  378.     EE    BaE    C=A-C  field 
  379.     EF    BaF    D=C-D  field 
  380.      
  381.     F0    Bb0    ASL    field 
  382.     F1    Bb1    BSL    field 
  383.     F2    Bb2    CSL    field 
  384.     F3    Bb3    DSL    field 
  385.     F4    Bb4    ASR    field 
  386.     F5    Bb5    BSR    field 
  387.     F6    Bb6    CSR    field 
  388.     F7    Bb7    DSR    field 
  389.     F8    Bb8    A=-A   field 
  390.     F9    Bb9    B=-B   field 
  391.     FA    BbA    C=-C   field 
  392.     FB    BbB    D=-D   field 
  393.     FC    BbC    A=-A-1 field 
  394.     FD    BbD    B=-B-1 field 
  395.     FE    BbE    C=-C-1 field 
  396.     FF    BbF    D=-D-1 field 
  397.  
  398.     fs: P  WP XS X  S  M  B  W 
  399.     a:  0  1  2  3  4  5  6  7 
  400.     b:  8  9  A  B  C  D  E  F  
  401.  
  402.     Data Storage Allocation 
  403.     ================================================================ 
  404.  
  405.     00..0    BSS    expr 
  406.     nn..n    CON(m) expr 
  407.     nn..n    REL(m) expr 
  408.     zy..a    NIBASC 'chars' 
  409.     zy..a    NIBASC \chars\ 
  410.     hh..h    NIBHEX h..hh  
  411.  
  412.     Saturn Registers 
  413.     ================================================================ 
  414.  
  415.     +--------------------------------+ 
  416.     |                                |  A 
  417.     +--------------------------------+ 
  418.     |                                |  B 
  419.     +--------------------------------+ 
  420.     |                                |  C 
  421.     +--------------------------------+ 
  422.     |                                |  D 
  423.     +--------------------------------+ 
  424.  
  425.                   +----------+ 
  426.                   |          |  D0 
  427.                   +----------+ 
  428.                   |          |  D1 
  429.                   +----------+ 
  430.  
  431.                       +--+ 
  432.                       |  |  P 
  433.                       +--+ 
  434.  
  435.                   +----------+ 
  436.                   |          |  PC 
  437.                   +----------+ 
  438.  
  439.     +--------------------------------+ 
  440.     |                                |  R0 
  441.     +--------------------------------+ 
  442.     |                                |  R1 
  443.     +--------------------------------+ 
  444.     |                                |  R2 
  445.     +--------------------------------+ 
  446.     |                                |  R3 
  447.     +--------------------------------+ 
  448.     |                                |  R4 
  449.     +--------------------------------+ 
  450.  
  451.                 +--------+ 
  452.                 |        |  IN (16 bits) 
  453.                 +--------+ 
  454.                   |      |  OUT (12 bits) 
  455.                   +------+ 
  456.  
  457.                        +-+ 
  458.                        | |  Carry (1 bit) 
  459.                        +-+ 
  460.  
  461.                 +--------+ 
  462.                 | F .. 0 |  ST (16 bits) 
  463.                 +--------+ 
  464.  
  465.                +-------------+ 
  466.                | MP SB SR XM |  HST (4 bits) 
  467.                +-------------+